//ajax que mostrara la lista de productos
$(document).ready(function(){  
    $("#btn-buscar").click(function(){
        var  ActiveCategoria=$("#select-categoria option:selected").val();       
        if(ActiveCategoria == -1){
            ActiveCategoria="";
        }
         var  ActiveProducto=$("#combo-productos option:selected").val();       
        if(ActiveProducto == -1){
            ActiveProducto="";
        }
        result=$.ajax({
            type:"POST",
            url:"ajax/jx_ventasProductos/search",
            data:{
                tipoB:$("#buscar-tipo option:selected").text(),
                productoB:ActiveProducto,
                categoriaB:ActiveCategoria,
                fechaIni:$("#buscar-fechaIni").val(),
                fechaFin:$("#buscar-fechaFin").val(),
                pagina:$("#lista-productos-ventas").data('pagina')
            },
            async:false
        }).responseText;
        //   alert(result);
        result=result.split("%%%");
        $("#lista-productos-ventas").html(result[0]);
        console.log(result[1]);
        $("#pagination").html(result[1]);        
    });
    
    $("#btn-buscar").trigger('click');
    
    $(".search-cambiar").change(function(){
        $("#lista-productos-ventas").data('pagina',1);
        $("#btn-buscar").trigger('click');
    });
    
    //funcion que pone la paginacion
    $(this).on('click',".pagination",function(e){
        e.preventDefault();       
        // alert($(this).data('pagina'));
        $("#lista-productos-ventas").data('pagina',$(this).data('pagina'));
        // alert($("#lista-clientes").data('pagina'));
        $("#btn-buscar").trigger('click');
        return false;
    });
   
 
 
 
    // FUNCIONES PARA CARGAR DATOS DE CLIENTES O EMPRESAS
    /* Evento disparador del ajax */
    $("#documento").change(function() {
        var identificacion = $("#documento").val();
        var nacionalidad = $("#nacionalidad").val();
        if (identificacion != "" && nacionalidad != "") {
            cargarCliente(identificacion, nacionalidad, "1");
        }
    });
    $("#nacionalidad").change(function() {
        var identificacion = $("#documento").val();
        var nacionalidad = $("#nacionalidad").val();
        if (identificacion != "" && nacionalidad != "") {
            cargarCliente(identificacion, nacionalidad, "1");
        }
    });
    $("#identificacionEmpresa").change(function() {
        var identificacionEmpresa = $("#identificacionEmpresa").val();
        var paisEmpresa = $("#paisEmpresa").val();
        if (identificacionEmpresa != "" && paisEmpresa != "") {
            cargarCliente(identificacionEmpresa, paisEmpresa, "2");
        }
    });
    $("#paisEmpresa").change(function() {
        var identificacionEmpresa = $("#identificacionEmpresa").val();
        var paisEmpresa = $("#paisEmpresa").val();
        if (identificacionEmpresa != "" && paisEmpresa != "") {
            cargarCliente(identificacionEmpresa, paisEmpresa, "2");
        }
    });

}); // F I N   D E   L A F U N C I O N   P R I N C I P A Ls
/*----------------*/
/*  CARGAR INFORMACION DEL CLIENTE*/
function cargarCliente(identificacion, nacionalidad, tipo) {
    $.ajax({
        url: "cargarCliente",
        data: {
            identificacion: identificacion,
            nacionalidad: nacionalidad,
            tipo: tipo
        },
        type: 'POST',
        success: function(data) {
            if (tipo == "1") {
                if (data != "[]") {
                    data = JSON.parse(data);
                    document.getElementById('resultadoAjax').innerHTML = "" + data[0]["nombre"] + " ya es cliente";
                    $("#idCliente").val(data[0]["id_cliente"]);
                    $("#tipoDocumento").val(data[0]["id_documento"]);
                    $("#nombre").val(data[0]["nombre"]);
                    $("#apellido").val(data[0]["apellido"]);
                    $("#genero").val(data[0]["genero"]);
                    var fechaNacimiento = (data[0]["fecha_nacimiento"]).split('-')
                    $("#fechaNacimiento").val(fechaNacimiento[2] + "/" + fechaNacimiento[1] + "/" + fechaNacimiento[0]);
                    $("#telefono").val(data[0]["telefono"]);
                    $("#email").val(data[0]["email"]);
                    $("#idEstadoCivil").val(data[0]["id_estado_civil"]);
                    $("#ocupacion").val(data[0]["ocupacion"]);
                    $("#quien").val("persona");
                    bloquearInputPersona();
                    $("#resultadoAjax").css("color", "#669533");
                    $("#resultadoAjax").show();
                } else {
                    $("#idCliente").val("");
                    resetEnCaliente();
                    desBoquearInputPersona();
                    document.getElementById('resultadoAjax').innerHTML = "Este cliente es nuevo";
                    $("#resultadoAjax").css("color", "#317eac");
                    $("#resultadoAjax").show();
                }
            }
            else if (tipo == "2") {
                if (data != "[]") {
                    data = JSON.parse(data);
                    document.getElementById('resultadoAjax').innerHTML = "" + data[0]["nombre"] + " ya es cliente";
                    $("#idCliente").val(data[0]["id_cliente"]);
                    $("#nombreEmpresa").val(data[0]["nombre"]);
                    $("#telefonoEmpresa").val(data[0]["telefono"]);
                    $("#direccionEmpresa").val(data[0]["direccion"]);
                    $("#emailEmpresa").val(data[0]["email"]);
                    $("#quien").val("empresa");
                    bloquearInputEmpresa();
                    $("#resultadoAjax").css("color", "#669533");
                    $("#resultadoAjax").show();
                } else {
                    $("#idCliente").val("");
                    resetEnCaliente();
                    desBoquearInputEmpresa();
                    document.getElementById('resultadoAjax').innerHTML = "Este cliente es nuevo";
                    $("#resultadoAjax").css("color", "#317eac");
                    $("#resultadoAjax").show()
                }
            }
        }
    });
}
/* FIN DE LA CARGA*/

/*  O C U L T A R - M O S T R A R PERSONA*/
$("#buttonDatosPersona").click(function(e) {
    resetCrearReserva();
    desBoquearInputPersona();
    $("#datosEmpresa").hide();
    $("#datosPersona").show();
    $("#quien").val("persona");
});

$("#buttonDatosEmpresa").click(function(e) {
    resetCrearReserva();
    desBoquearInputEmpresa();
    $("#datosPersona").hide();
    $("#datosEmpresa").show();
    $("#quien").val("empresa");
});

function resetCrearReserva() {
    $("#formCrearReserva .error").remove();
    desBoquearInputPersona();
    $("#formQuienPaga").find(':input').each(function() {
        var elemento = this;
        elemento.value = "";
    });
    $("#ayudaFechaNacimiento").hide();
    document.getElementById('resultadoAjax').innerHTML = "";
    $("#formEsHuesped").hide();
    $("#esHuesped").attr('checked', false);
}

// BLOQUE DESBLOQUEO DE FORMULARIOS

function bloquearInputPersona() {
    $("#tipoDocumento option:not(:selected)").attr('disabled', 'disabled');
    $("#tipoDocumento").addClass("selectBloqueado");
    $("#idEstadoCivil option:not(:selected)").attr('disabled', 'disabled');
    $("#idEstadoCivil").addClass("selectBloqueado");
    $("#genero option:not(:selected)").attr('disabled', 'disabled');
    $("#genero").addClass("selectBloqueado");
    $("#nombre").addClass("uneditable-input").attr('readonly', true);
    $("#apellido").addClass("uneditable-input").attr('readonly', true);
    $('#fechaNacimiento').datepicker("option", "minDate", 0).datepicker("option", "maxDate", 0).addClass("uneditable-input").attr('readonly', true);
    $("#telefono").addClass("uneditable-input").attr('readonly', true);
    $("#email").addClass("uneditable-input").attr('readonly', true);
    $("#ocupacion").addClass("uneditable-input").attr('readonly', true);
    $("#formQuienPaga .editar").show();
}
function desBoquearInputPersona() {
    $("#tipoDocumento option").removeAttr('disabled');
    $("#tipoDocumento").removeClass("selectBloqueado");
    $("#idEstadoCivil option").removeAttr('disabled');
    $("#idEstadoCivil").removeClass("selectBloqueado");
    $("#genero option").removeAttr('disabled');
    $("#genero").removeClass("selectBloqueado");
    $("#nombre").removeClass("uneditable-input").attr('readonly', false);
    $("#apellido").removeClass("uneditable-input").attr('readonly', false);
    $('#fechaNacimiento').datepicker("option", "minDate", null).datepicker("option", "maxDate", null).removeClass("uneditable-input").attr('readonly', false);
    $("#telefono").removeClass("uneditable-input").attr('readonly', false);
    $("#email").removeClass("uneditable-input").attr('readonly', false);
    $("#ocupacion").removeClass("uneditable-input").attr('readonly', false);
    $("#formQuienPaga .editar").hide();
}
function bloquearInputEmpresa() {
    $("#nombreEmpresa").addClass("uneditable-input").attr('readonly', true);
    $("#telefonoEmpresa").addClass("uneditable-input").attr('readonly', true);
    $("#direccionEmpresa").addClass("uneditable-input").attr('readonly', true);
    $("#emailEmpresa").addClass("uneditable-input").attr('readonly', true);
    $("#formQuienPaga .editar").show();
}
function desBoquearInputEmpresa() {
    $("#nombreEmpresa").removeClass("uneditable-input").attr('readonly', false);
    $("#telefonoEmpresa").removeClass("uneditable-input").attr('readonly', false);
    $("#direccionEmpresa").removeClass("uneditable-input").attr('readonly', false);
    $("#emailEmpresa").removeClass("uneditable-input").attr('readonly', false);
    $("#formQuienPaga .editar").hide();
}
$("#formQuienPaga a.editar").click(function() {
    $("+ span.error", $(this)).remove();
    if ($(this).attr("id") == "editarFechaNacimieno") {
        $('#fechaNacimiento').datepicker("option", "minDate", null).datepicker("option", "maxDate", null).removeClass("uneditable-input").attr('readonly', false);
    }
    else {
        $('#fechaNacimiento').datepicker('enable');
        $("+ input", $(this)).focus().removeClass("uneditable-input").attr('readonly', false);
        $("+ select", $(this)).focus().removeClass("selectBloqueado");
        $("+ select option", $(this)).focus().removeAttr('disabled');
    }
});

// VALIDACIONES DE FORMULARIOS
function validarForm(quien) {
    var flag = true;
    if (quien == "persona") {
        $("#formCrearReserva .error").remove();
        $("#formQuienPaga .requeridoPersona").each(function() {
            var elemento = this;
            if (elemento.value == "") {
                $(this).focus();
                $(this).before("<span class='error'>*</span>")
                flag = false;
                return false;
            }
        });
        if (flag && $("#esHuesped").is(':checked')) {
            $("#formEsHuesped").find('.requeridoHuesped').each(function() {
                var elemento = this;
                if (elemento.value == "") {
                    $(this).focus();
                    $(this).before("<span class='error'>*</span>")
                    flag = false;
                    return false;
                }
            });
        }

        var expresionRegular = /^\d{2}\/\d{2}\/\d{4}$/;
        if (!(document.getElementById("fechaNacimiento").value).match(expresionRegular)) {
            $("#ayudaFechaNacimiento").show();
            flag = false;
        }
        return flag;
    } else {
        $("#formCrearReserva .error").remove();
        $("#formQuienPaga .requeridoEmpresa").each(function() {
            var elemento = this;
            if (elemento.value == "") {
                $(this).focus();
                $(this).before("<span class='error'>*</span>")
                flag = false;
                return false;
            }
        });
        return flag;
    }
}

     $("#botonFormCrearReserva").click(function(e) {
        if (!validarFormularioAfter("formQuienPaga")) {
            return false;
        }
        $("#formCrearReserva").submit();
    });

// FIN VALIDACIONES
      
// Se utiliza para cargar los productos de una categoria para hacer filtros en el historial de ventas  
$("#select-categoria").change(function(){
    opt=$(this).val();
    if(opt==-1){
        $("#combo-productos").html("");
          
    }else{     
          
        tabla=$.ajax({
            type:"POST",
            url:"ajax/jx_ventasProductos/getProductosOnCategoria",
            data:{
                Id_categoria:opt
            },
            async:false
        }).responseText;         
        $("#combo-productos").html(tabla);            
    }        
              
});
 
// Se utiliza para cargar los productos de una categoria para agregarlos a una compra
$("#selected-categoria-modal").change(function(){
    opt=$(this).val();
    if(opt==-1){
        $("#selected-producto-modal").html("");
          
    }else{     
          
        tabla=$.ajax({
            type:"POST",
            url:"ajax/jx_ventasProductos/getProductosOnCategoria",
            data:{
                Id_categoria:opt
            },
            async:false
        }).responseText;  
            
        $("#selected-producto-modal").html(tabla); 
        if(tabla==""){
            tabla="<option value='-1'>No hay inventario</option>";
            $("#selected-producto-modal").html(tabla);
        }
    }        
              
});
N=0;
var sumatotal=0;
var descuentosApli=0;
var totalVentaActual=0
var impuestoAplic=0;
//////////////////////////////////////////
$("#agregarProductoAVenta").click(function(){
    optProducto=$("#selected-producto-modal").val();
    optCategoria=$("#selected-categoria-modal").val();
    cantidadProducto= $("#cantidad-producto-modal").val(); 
    if(optProducto == -1){
        alert("Debe seleccionar un producto");
        $("#contenidoMensajeUsuario").html("Selección inválida.");
        $("#contenidoMensajeUsuario").addClass("advertencia");
        $("#mensajesUsuario").show().delay(3000).fadeOut('normal');


    }
    if (optCategoria== -1){
        alert("Debe seleccionar una categoria");
    }
    if(cantidadProducto=="" || cantidadProducto== 0){
        alert("Debe escribir una cantidad");            
    }
    if(optProducto != -1 && optCategoria != -1 && cantidadProducto != "" && cantidadProducto!=0){ 
        var nameProductoSelected =$("#selected-producto-modal option:selected");
        if(cantidadProducto> nameProductoSelected.data('inventario') ){
            alert("La cantidad solicitad superar el inventario de este producto");
             $("#contenidoMensajeUsuario").html("Selección inválida.");
        $("#contenidoMensajeUsuario").addClass("advertencia");
        $("#mensajesUsuario").show().delay(3000).fadeOut('normal');
        }else {                     
            var subtotal= parseInt(nameProductoSelected.data('valor')) * parseInt(cantidadProducto);
            $('#lista-productos-modal').append("<tr> <td> " + nameProductoSelected.text() + "</td><td><input readonly='readonly' class='Sinbordes2' value='" + cantidadProducto + "' name='c[]' /></td><td>"+  nameProductoSelected.data('valor')+"</td><td>"+ subtotal + "</td><input type='hidden' name='p[]' value='"+optProducto+"'/></tr>");
            sumatotal= sumatotal + subtotal;
            $('#sumaSubtotal').val("$" + sumatotal);
            $('#sumaSubtotalCargos').val( sumatotal);           
            $('#totalFinal').val( sumatotal );  
             $("#cantidad-producto-modal").val("");
             $('#auxiliartotal').val( sumatotal ); 
             
        } 
    }                  
});

$("#botonFormCrearReserva").click(function(){
    var modoPagoSelected =$("#modoPagoSelected option:selected");    
    tipoPago=modoPagoSelected.text();
    $('#FormaPago').val(tipoPago)
    
    var aux=$('#iva').val()
    $('#inpuestoActivo').val(aux)
});

// MOSTRAR INVENTARIO DE UN PRODUCTO
$("#selected-producto-modal").change(function(){
    var productoSelectedModal =$("#selected-producto-modal option:selected").data('inventario');
    
    $("#ayudaCantidad").html(productoSelectedModal + " en inventario.");
    $("#cantidad-producto-modal").val("");
});

// calcular total venta
$("#descuentosAplicados").change(function() {
    if(document.frm.chk.checked){
         impuestoAplic=$('#iva').val()
         descuentosApli=$('#descuentosAplicados').val()
         $('#auxiliartotal').val( sumatotal - descuentosApli );
         
        var auxiliar22=$('#auxiliartotal').val();
         $('#totalImpu').val( auxiliar22 * (impuestoAplic/100 ));
        var timpuestios2 = $('#totalImpu').val();         
        var aux3 = $('#auxiliartotal').val();        
        $('#totalFinal').val(parseFloat(aux3) + parseFloat(timpuestios2) );
    }
    else{
        descuentosApli=$('#descuentosAplicados').val()
    totalVentaActual= sumatotal-descuentosApli;
    // alert(totalVentaActual);
    $('#totalFinal').val( sumatotal - descuentosApli ); 
    $('#auxiliartotal').val( sumatotal - descuentosApli );
    }
     
});

$("#iva").change(function() {
    if(document.frm.chk.checked){
    $('#auxiliartotal').val( sumatotal - descuentosApli );
    impuestoAplic=$('#iva').val()
    var auxiliar2=$('#auxiliartotal').val();
         $('#totalImpu').val( auxiliar2 * (impuestoAplic/100 ));
        var timpuestios = $('#totalImpu').val(); 
        if(descuentosApli==0){
            var totaltotalSinDescuento=parseInt(sumatotal) + parseInt(timpuestios);    
            $('#totalFinal').val(totaltotalSinDescuento);
        }
        else{
            var aux = $('#auxiliartotal').val();
            
            $('#totalFinal').val(parseFloat(aux)+ parseFloat(timpuestios) );
        } 
    }
    else{
        $('#auxiliartotal').val( sumatotal - descuentosApli );
        $('#totalImpu').val( "");
        var sinImpuesto=$('#auxiliartotal').val();
        $('#totalFinal').val( sinImpuesto );
    }
});

